package com.flower.service;

import com.flower.domain.vo.admin.analysis.*;

import java.time.LocalDate;
import java.util.Map;

/**
 * 数据分析服务接口
 */
public interface DataAnalysisService {
    
    /**
     * 获取销售概览数据
     * @return 销售概览数据
     */
    SalesOverviewVO getSalesOverview();
    
    /**
     * 获取销售趋势数据
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @param timeUnit 时间单位：day, week, month
     * @return 销售趋势数据
     */
    SalesTrendVO getSalesTrend(LocalDate startDate, LocalDate endDate, String timeUnit);
    
    /**
     * 获取订单状态分布
     * @return 订单状态分布数据
     */
    OrderStatusDistributionVO getOrderStatusDistribution();
    
    /**
     * 获取热销商品排行
     * @param limit 返回数量限制
     * @return 热销商品排行数据
     */
    TopProductsVO getTopProducts(Integer limit);
    
    /**
     * 获取店铺销售排行
     * @param limit 返回数量限制
     * @return 店铺销售排行数据
     */
    TopShopsVO getTopShops(Integer limit);
    
    /**
     * 获取商品分类销售分布
     * @return 商品分类销售分布数据
     */
    CategoryDistributionVO getCategoryDistribution();
} 